using System;
using System.Text;
using TccAg.VO;
using TccAg.DA;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using NeoLib2k8.Log;

namespace TccAg.BR
{
    public class AcoeBR
    {
        private AcoeDA acoeDA = new AcoeDA();

        //INSERIR 
        public int inserir(AcoesVO acoe)
        {
            try
            {
                return acoeDA.inserir(acoe);
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //ATUALIZAR 
        public int atualizar(AcoesVO acoe)
        {
            try
            {
                return acoeDA.atualizar(acoe);
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //EXCLUIR 
        public int excluir(AcoesVO acoe)
        {
            try
            {
                return acoeDA.excluir(acoe);
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //LOAD ALL 
        public List<AcoesVO> loadAll()
        {
            try
            {
                return acoeDA.loadAll();
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //LOAD BY PK
        public AcoesVO loadByPk(AcoesVO acoe)
        {
            try
            {
                return acoeDA.loadByPk(acoe);
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //LOAD BY FK
        public AcoesVO loadByFk(AcoesVO acoe)
        {
            try
            {
                return acoeDA.loadByFk(acoe);
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

        //DATATABLE LOAD ALL 
        public DataTable dataTableLoadAll()
        {
            try
            {
                return acoeDA.dataTableLoadAll();
            }
            catch (Exception ex)
            {
                Log.LogWrite(ex.ToString(), Variaveis.GetInstance().LogVO);
                throw ex;
            }
        }

    }
}
